[tool.poetry]
name = "wsgi"
# package-mode = false
version = "0.1.0"
description = ""
authors = ["RezoGrafus <ctsaverno@gmail.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
markdown = "^3.4.4"
django-filter = "^23.2"
channels = { extras = ["daphne"], version = "^4.0.0" }
django-jsonform = "^2.19.1"
requests = "^2.31.0"
firebirdsql = "^1.2.2"
django-filebrowser = "^4.0.3"
progress = "^1.6"
django-rest-swagger = "^2.2.0"
django-cors-headers = "^4.2.0"
django-related-admin = "^1.0.1"
django-debug-toolbar = "^4.2.0"
django-extensions = "^3.2.3"
django-better-admin-arrayfield = "^1.4.2"
django-import-export = "^3.2.0"
psycopg2-binary = "^2.9.7"
ipython = "^8.16.1"
openpyxl = "^3.1.2"
django-ninja = "^1.0.1"
django-auditlog = "^2.3.0"
pandas = "^2.2.2"
whitenoise = "^6.6.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.uv.pip]

[tool.ruff]
fix = true
line-length = 120
select = ["ALL"]
ignore = [
    "D1",
    "D203",
    "D213",
    "FA102",
    "ANN101",
    "ANN001",
    "E501",
    "INP001",
    "RUF001",
    "DTZ011",
    "ANN102",
    "G004",
    "T201",
    "DTZ007",
]
cache-dir = "/tmp/ruff-cache/"

# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".hg",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "venv",
    "migrations",
]
per-file-ignores = {}


# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

# Assume Python 3.10.
target-version = "py310"

[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10

[tool.ruff.isort]
no-lines-before = ["standard-library", "local-folder"]
known-third-party = []
known-local-folder = ["whole_app"]

[tool.ruff.extend-per-file-ignores]

"test/*.py" = ["ANN401", "S101", "S311"]

[tool.ruff.lint.pylint]
max-args = 8
